home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / amos / amosprog.lha / PowerPack-Pro.AMOS / PowerPack-Pro.amosSourceCode
AMOS Source Code  |  1995-10-02  |  1KB  |  67 lines

  1. 'COMPRESS ABK BANK !!! 
  2. '(c) Marcin Szumiela 1994
  3.  
  4. Do 
  5. A$=Fsel$('','','Open Abk Bank')
  6.  
  7. Open In 1,A$
  8. Reserve As Work 10,Lof(1)
  9. Bload A$,Start(10)
  10. Close 1
  11. PLIK$=A$
  12.  
  13. KOMPRES[10,PLIK$,4,0]
  14. Loop 
  15.  
  16. Procedure KOMPRES[BANK,PLIK$,EFFICIENCY,SPEEDUP]
  17.  
  18. Reserve As Work 100,Length(BANK)
  19. Copy Start(BANK),Start(BANK)+Length(BANK) To Start(100)
  20.  
  21. Lib Open 1,'powerpacker.library',0
  22.  
  23. Dreg(0)=EFFICIENCY
  24. Dreg(1)=SPEEDUP
  25. Areg(0)=0
  26. Areg(1)=Start(100)
  27. CRUNCHINFO=Lib Call(1,-$60)
  28.  
  29. Areg(0)=CRUNCHINFO
  30. Areg(1)=Start(100)
  31. Dreg(0)=Length(100)
  32. CRUNCHEDLEN=Lib Call(1,-$6C)
  33.  
  34. Dreg(1)=Varptr(PLIK$)
  35. Dreg(2)=1006
  36. FILEHANDLE=Doscall(-30)
  37.  
  38. Dreg(0)=FILEHANDLE
  39. Dreg(1)=EFFICIENCY
  40. Dreg(2)=0
  41. Dreg(3)=0
  42. SUCCESS=Lib Call(1,-$72)
  43.  
  44. Dreg(1)=FILEHANDLE
  45. Dreg(2)=Start(100)
  46. Dreg(3)=CRUNCHEDLEN
  47. X=Doscall(-48)
  48.  
  49. Dreg(1)=FILEHANDLE
  50. Y=Doscall(-36)
  51. Areg(0)=CRUNCHINFO
  52. Z=Lib Call(1,-$66)
  53.  
  54. Lib Close 1
  55. Erase All 
  56.  
  57. Open In 1,PLIK$
  58. Reserve As Work 10,Lof(1)
  59. Bload PLIK$,Start(10)
  60. Close 1
  61.  
  62. Poke$ Start(10),'ART4'
  63. Bsave PLIK$,Start(10) To Start(10)+Length(10)
  64.  
  65. Erase All 
  66.  
  67. End Proc